package com.pany.kotlin

/*
*Author:zhang
*Date:2022/4/19
*char 类型
* 字符类型
*/

fun main(args: Array<String>) {
    // `a`
    var ch = 'a'
    // 'a' == 98
    var num = ch.toInt()
    println(" num = $num")

    // \t \b \n \r \$  \\

    // 布尔 || &&  !
    if (!(1 > 2)) println(" i love china")

    // 数组
    val array1 = arrayOf(1, 2, 3)
    var array2 = Array(3, { i -> (i + 4) }) // 运算符 i= 0 i++

    println(array1[0])
    println(array2[0])
    println(array2[1])
    println(array2[2])
    println("------$\n")

    array1.set(1, 4)
    println("array1[1] =  ${array1[1]}")
    println(array2.get(2))

    var str: String = "I Love China"
    var stringLong = """    
            Welcome to china 
        I     Lone China
        I Lone China
    ! !!    
    """.trimIndent()

    println("ser = $str")
    println("stringLong = $stringLong")
    println(stringLong.trimMargin())

    whenTest()

}

fun whenTest() {
    var a: Int = 31

    when (a) {
        1, 2, 3 -> println("123")
        else -> println("---")
    }

    when (a) {
        in 1..10 -> println("1..10")     // 在 1-10 之间执行
        !in 10..20 -> println(" no in 10..20")  //  不在10 和20之间执行
        else -> println(" null")
    }
    var s = "123"

    when (s) {
        is String -> println(" string")
        else -> println(" not string")
    }

    when {
        xx()-> println(" xx is true")
        else -> println(" xx is false")
    }

}

fun xx() = true